#include <stdio.h>

void printNumberUHex(unsigned int value) {
    unsigned int erg[10];
    unsigned char neg = 0;
    char nr[16] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};

    if (value == 0) {
        printf("%c", '0');
        return;
    }

    int i = 0;


    while (value != 0) {
        erg[i] = value % 16;
        value = value / 16;
        i++;
    }

    printf("%c",'0');
    printf("%c",'x');

    i--;
    int i2;
    for (i2 = i; i2 >= 0; i2--) {
        printf("%c",nr[erg[i2]]);
    }
}

int main(void) {
    unsigned int erg = 0x44 | (0x00 << 8) | (0x90 << 16) | (0x00 << 24);
    printNumberUHex(erg);
}
